
[dbo].[asi_IsVatTaxableRegistration]
CREATE PROCEDURE [dbo].[asi_IsVatTaxableRegistration]
@eventCode varchar(10),
@registrantId varchar(10),
@registrantCountry varchar(25),
@applyVat bit = NULL OUT
AS
BEGIN
DECLARE @isVatRegistered bit
DECLARE @isVatExempt bit
DECLARE @isCompany bit
DECLARE @registrantVatCountry varchar(25)
SET @applyVat = 1
IF LEN(ISNULL(@registrantId, ''))=0
BEGIN
GOTO ReturnValue
END
SELECT @isCompany = n.[COMPANY_RECORD],
@isVatRegistered = CASE WHEN LEN(ISNULL(nf.[VAT_REG_NUMBER], ''))>0 THEN 1 ELSE 0 END,
@isVatExempt = CASE WHEN ISNULL(nf.[USE_VAT_TAXATION], 0)=1 THEN 1 ELSE 0 END,
@registrantVatCountry = ISNULL(nf.[VAT_COUNTRY],'')
FROM [dbo].[Name] n
LEFT OUTER JOIN [dbo].[Name_Fin] nf ON n.[ID] = nf.[ID]
WHERE n.[ID]=@registrantId
IF @@ROWCOUNT=0
BEGIN
GOTO ReturnValue
END
IF @isVatExempt=1
BEGIN
SET @applyVat = 0
GOTO ReturnValue
END
IF @isCompany=0
BEGIN
SELECT @isCompany = p.[COMPANY_RECORD]
FROM [dbo].[Name] p
LEFT OUTER JOIN [dbo].[Name] c ON p.[ID] = c.[CO_ID]
WHERE c.[ID]=@registrantId
END
EXEC [dbo].[asi_IsVatTaxableRegistration2] @eventCode, @registrantCountry, @isCompany, @isVatRegistered, @registrantVatCountry, @applyVat OUT
ReturnValue:
SELECT @applyVat AS [ApplyVat]
END
GO
GRANT EXECUTE ON [dbo].[asi_IsVatTaxableRegistration] TO [IMIS]
GO